<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:zj="http://www.zju.edu.cn" exclude-result-prefixes="zj">
  <xsl:import href="DetailListFrame_Trans.xslt"/>
  <xsl:import href="../Tk2Base/ListItems.xslt"/>
  <xsl:template match="zj:Table" mode="zj:DListTitle">
    <td width="1%" height="22" nowrap="nowrap" onClick="showtb('th{@TableName}','td{@TableName}')" id="th{@TableName}">
      <xsl:attribute name="background"><xsl:choose><xsl:when test="position()=1">../images/tab_bg.png</xsl:when><xsl:otherwise>../images/lbx.gif</xsl:otherwise></xsl:choose></xsl:attribute>
      <a style="cursor: hand">
        <xsl:call-template name="zj:WhiteSpace"/>
        <xsl:call-template name="zj:WhiteSpace"/>
        <xsl:value-of select="@TableDesc"/>
        <xsl:call-template name="zj:WhiteSpace"/>
        <xsl:call-template name="zj:WhiteSpace"/>
      </a>
    </td>
  </xsl:template>
  <xsl:template match="zj:Table" mode="zj:DetailList">
    <xsl:variable name="Table" select="."/>
    <tr id="td{@TableName}">
      <xsl:if test="position() != 1">
        <xsl:attribute name="style">display: none</xsl:attribute>
      </xsl:if>
      <td style="border-right: 1px solid #6794CB; border-bottom: 1px solid #6794CB; border-top: 1px solid #D9E4F2; border-left: 1px solid #D9E4F2; padding: 8px" colspan="10">
        <table width="100%" border="0" cellpadding="1" cellspacing="1" class="listtb">
          <tr>
            <xsl:call-template name="zj:OperationHead"/>
            <xsl:apply-templates select="List/zj:Field" mode="zj:Head"/>
          </tr>
          <xsl:variable name="Data" select="$zj:Toolkit/*[local-name()=$Table/@TableName]"/>
          <xsl:choose>
            <xsl:when test="count($Data) &gt; 0">
              <xsl:for-each select="$Data">
                <xsl:call-template name="zj:DetailRecord">
                  <xsl:with-param name="Table" select="$Table"/>
                </xsl:call-template>
              </xsl:for-each>
            </xsl:when>
            <xsl:otherwise>
              <xsl:copy-of select="$zj:NoRecord"/>
            </xsl:otherwise>
          </xsl:choose>
        </table>
        <table width="100%" border="0" cellpadding="1" cellspacing="0">
          <tr>
            <xsl:call-template name="zj:DetailTitle">
              <xsl:with-param name="Table" select="."/>
            </xsl:call-template>
          </tr>
        </table>
      </td>
    </tr>
  </xsl:template>
  <!-- 显示表头 -->
  <xsl:template name="zj:DetailTitle">
    <xsl:param name="Table"/>
    <td align="right">
      <xsl:call-template name="zj:DetailButton">
        <xsl:with-param name="Table" select="$Table"/>
      </xsl:call-template>
    </td>
  </xsl:template>
  <xsl:template match="zj:Field" mode="zj:Head">
    <xsl:call-template name="zj:NoSortColHead">
      <xsl:with-param name="Title" select="zj:DisplayName"/>
    </xsl:call-template>
  </xsl:template>
  <xsl:template name="zj:DetailRecord">
    <xsl:param name="Table"/>
    <tr valign="top" class="td-bg">
      <xsl:call-template name="zj:DListOperation">
        <xsl:with-param name="Table" select="$Table"/>
        <xsl:with-param name="DataRecord" select="."/>
      </xsl:call-template>
      <xsl:apply-templates select="$Table/List/zj:Field" mode="zj:DetailItem">
        <xsl:with-param name="DataRecord" select="."/>
        <xsl:with-param name="Table" select="$Table"/>
      </xsl:apply-templates>
    </tr>
  </xsl:template>
  <xsl:template match="zj:Field" mode="zj:DetailItem">
    <xsl:param name="DataRecord"/>
    <xsl:param name="Table"/>
    <xsl:call-template name="zj:DisplayListItem">
      <xsl:with-param name="DataRecord" select="$DataRecord"/>
      <xsl:with-param name="FieldList" select="$Table/*/zj:Field"/>
      <xsl:with-param name="Source" select="$Table/@Source"/>
    </xsl:call-template>
  </xsl:template>
  <xsl:template name="zj:DListOperation">
    <xsl:param name="Table"/>
    <xsl:param name="DataRecord"/>
    <xsl:choose>
      <xsl:when test="$Table/@Source!=''">
        <xsl:call-template name="zj:Operation">
          <xsl:with-param name="Table" select="$Table"/>
          <xsl:with-param name="DataRecord" select="."/>
          <xsl:with-param name="Source" select="$Table/@Source"/>
        </xsl:call-template>
      </xsl:when>
      <xsl:otherwise>
        <xsl:call-template name="zj:EmptyOperation"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>
</xsl:stylesheet>
